KVM

您所在的位置:网站首页 centos 自动安装 找不到 kickstart KVM

KVM

2024-07-10 21:45| 来源: 网络整理| 查看: 265

概述

kickstart是一个利用Anconda工具实现服务器自动化安装的方法;通过生成的kickstart配置文件ks.cfg,服务器安装可以实现从裸机到全功能服务的的非交互式(无人值守式)安装配置。ks.cfg是一个简单的文本文件,文件包含Anconda在安装系统及安装后配置服务时所需要获取的一些必要配置信息(如键盘设置,语言设置,分区设置等);Anconda直接从该文件中读取必要的配置,只要该文件信息配置正确无误且满足所有系统需求,就不再需要同用户进行交互获取信息,从而实现安装的自动化。

kickstart的优势

流线化自动化的安装;快速大量的裸机部署;强制建立的一致性(软件包,分区,配置,监控,安全性)减少人为的部署失误

使用Kickstart方法安装的过程

创建一个kickstart文件创建有kickstart文件的引导介质或者使文件在网络上可用;开始ks安装:anconda自身启动 -->选取ks安装模式--> 从ks文件读取配置 --> 系统安装

kickstart文件主要包括三个部分:命令段,程序包段,脚本段

命令段

指明各种安装前配置,如键盘类型等

命令段中的常见命令:

keyboard: 设定键盘类型

lang: 语言类型

zerombr:清除mbr

clearpart:清除分区

part: 创建分区

rootpw: 指明root的密码

timezone: 时区

text: 文本安装界面

network:指定网络设置

firewall:设置防火墙设置

selinux:设置selinux设置

reboot:安装完自动重启

user:安装完成后为系统创建新用户

url: 指明安装源

程序包段

指明要安装的程序包组或程序包,不安装的程序包等

代码语言:javascript复制%packages @^environment group:指定环境包组,如:@^minimal-environment @group_name package -package %end

脚本段

%pre: 安装前脚本%post: 安装后脚本

安装 Centos 7 虚拟机

1、创建磁盘

代码语言:javascript复制qemu-img create -f qcow2 /kvm/img/vm01.qcow2 20G

2、上传安装镜像

上传镜像文件到/kvm/iso/目录下

代码语言:javascript复制[root@kvm-node1 iso]# cd /kvm/iso [root@kvm-node1 iso]# ls CentOS-7-x86_64-DVD-2009.iso cn_windows_10_1809.iso virtio-win-0.1.215.iso

3、创建kickstart配置文件

代码语言:javascript复制cat /mnt/ks/ks.cfg # install install # password 注意空格问题 rootpw q1w2E#R$ authconfig --enableshadow --passalgo=sha512 firewall --disabled text firstboot --disable keyboard us lang en_US.UTF-8 selinux --disabled timezone Asia/Shanghai reboot services --enabled kdump # 配置网络 #network --onboot yes --device eth0 --bootproto static --ip 10.0.91.82 --netmask 255.255.255.0 --gateway=10.0.91.1 --nameserver=1.1.1.1,8.8.8.8 --hostname test.com --noipv6 #如果局域网内有dhcp服务器,也可自动获取网络配置 network --bootproto=dhcp --device=eth0 --onboot=on --noipv6 # 指定引导分区 bootloader --location=mbr --driveorder=vda zerombr # 清除硬盘分区 clearpart --drives=vda --all --initlabel part /boot --fstype="xfs" --ondisk=vda --size=500 part pv.01 --size=1 --grow --ondisk=vda volgroup centos pv.01 logvol swap --fstype="swap" --vgname=centos --size=4096 --name=swap logvol / --fstype="xfs" --vgname=centos --size=10240 --name=root # %packages @base @development vim unzip tree telnet tcpdump sysstat net-tools %end

注意:kvm中qemu-img创建的磁盘,在kvm中默认识别为vda、vdb...之类的磁盘,因此ks文件中,需要修改对应的硬盘槽位信息

4、Nginx部署

安装Nginx官方源

代码语言:javascript复制rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

Nginx配置文件

代码语言:javascript复制[root@kvm-node1 ks]# cat /etc/nginx/conf.d/default.conf server { listen 18080; server_name 192.168.100.234; #access_log /var/log/nginx/host.access.log main; location / { #root /usr/share/nginx/html; #index index.html index.htm; root /mnt/; #开启目录浏览功能;autoindex on; #关闭详细文件大小统计,让文件大小显示MB,GB单位,默认为b; autoindex_exact_size off; #开启以服务器本地时区显示文件修改日期; autoindex_localtime on; } }

启动Nginx

代码语言:javascript复制[root@kvm-node1 ks]# systemctl start nginx [root@kvm-node1 ks]# systemctl enable nginx

5、挂载iso镜像

代码语言:javascript复制mkdir -p /mnt/{ks,iso}

挂载iso镜像并通过nginx发布目录

代码语言:javascript复制mount -o loop /kvm/iso/CentOS-7-x86_64-DVD-2009.iso /mnt/iso/

6、ks.cfg文件

代码语言:javascript复制[root@kvm-node1 ks]# ls ks.cfg

7、浏览器访问Nginx 目录

http://IP/ios

8、安装虚拟机(测试验证)

virt-install --name=vm01 --disk path=/kvm/img/vm01.qcow2,device=disk,bus=virtio,perms=rw,cache=writethrough --accelerate --memory 2048 --vcpus 2 --location http://192.168.100.234:18080/iso/ --network bridge=br0 --os-type=linux --graphics vnc,listen=0.0.0.0,port=5918 --noautoconsole -x "ks=http://192.168.100.234:18080/ks/ks.cfg console=tty0 console=ttyS0,115200n8"

9、开始安装

系统安装完成

10、登录虚拟机查看

代码语言:javascript复制[root@kvm-node1 ks]# virsh console vm01

报错问题

测试不通过,通过http测试正常

代码语言:javascript复制-x "ks=file:/mnt/ks/ks.cfg console=tty0 console=ttyS0,115200n8"

错误如下



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3